package org.app.Service;

import org.app.Entity.DTO.UserRoleDTO;
import org.app.Entity.Group;
import org.app.Entity.GroupUser;
import org.app.Entity.comm.Result;

import java.util.List;

public interface IGroupService {
    Result<Group> createExerciseGroup(Group group);
    Result<Group> createGuideGroup(Group group);
    Result<Group> getGroupInfo(String group_id);
    Result<Integer> updateAuth(GroupUser groupUser);
    Result<String> createGroupToken(String group_id);
    Result<Integer> joinGroup(String password,String c_id);
    Result<List<Group>> listOwnGroup(String c_id);
    Result<List<Group>> listJoinGroup(String c_id);
    Result<Integer> deleteGroup(String group_id);
    Result<Integer> deleteMember(GroupUser groupUser);
    Result<Integer> updateNickName(GroupUser groupUser);
    Result<List<UserRoleDTO>> listAllMembers(String group_id);
    Result<UserRoleDTO> listMemberInfo(String group_id,String c_id);
    Result<Group> getGroupInfoByToken(String token);
}
